home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
Mac OS 8 Interfaces & Libraries
/
Interfaces
/
IDLIncludes
/
HIEmbeddingPanels.idl
< prev
next >
Wrap
Text File
|
1996-05-01
|
4KB
|
134 lines
/*
File: HIEmbeddingPanels.idl
Contains: Interfaces to embedding HIPanel classes.
Version: Technology: System 8.0
Release: Universal Interfaces 3.0d3 on Copland DR1
Copyright: © 1995-1996 by Apple Computer, Inc. All rights reserved.
Bugs?: If you find a problem with this file, send the file and version
information (from above) and the problem description to:
Internet: apple.bugs@applelink.apple.com
AppleLink: APPLE.BUGS
*/
#ifndef __HIEMBEDDINGPANELS_IDL__
#define __HIEMBEDDINGPANELS_IDL__
#include <HIPanels.idl>
#include <HIEmbeddingPanelTypes.idl>
/* ########################################################################
HIEmbeddingPanel
A panel that has sub-panels.
######################################################################## */
interface HIEmbeddingPanel : HIPanel
{
// ***†this should be a private structure in the embedding panel implementation?
// ======================================================
// Attributes
// ======================================================
ItemCount GetSubPanelCount ();
HIPanel GetLastSelectedSubPanel ();
// ======================================================
// Public Methods
// ======================================================
// Programatic Initalizer
OSStatus InitEmbeddingPanel (in RefLabel identifier,
in HIWindow window, in Rect bounds);
// append the given panel to our list of subPanels. Where is the
// index at which we will insert the panel. The user
// can pass kAppendToEnd or kInsertAtFront, or a real index
// if adoptSubPanel is true, the subPanel will be disposed when
// removed or this panel is disposed; otherwise, disposal is the client's
// responsibility.
OSStatus AddSubPanel (in HIPanel subPanel, in HISubPanelIndex where,
in HIAdoptionFlags adoptionFlags, in HIFrameBindingFlags frameBindingFlags);
// remove the given panel from our list. If the subPanel
// was adopted when it was added, then the subPanel
// will get disposed here.
OSStatus RemoveSubPanel (in HIPanel subPanel);
// get the subPanel at the given index (0-based)
// return NULL if a bad index.
HIPanel GetSubPanel (in HISubPanelIndex subPanelIndex);
// set the given panel to be our user input focus subPanel,
// or if NULL, don't have any subPanel with keyboard focus.
// return an error if there was a problem attempting to
// transfer the keyboard focus.
HIPanel GetUserInputFocusSubPanel ();
OSStatus SetUserInputFocusSubPanel (in HIPanel subPanel);
// return the index of the given subPanel
HISubPanelIndex GetSubPanelIndex (in HIPanel subPanel);
// search subPanels until one of a matching
// refLabel is found. If deep is true, recursively search all subpanels.
OSStatus GetSubPanelsFromRefLabel (in RefLabel identifier, in boolean deep, in ItemCount requestedSubPanels,
out ItemCount totalSubPanels, inout HIPanel thePanels);
// ======================================================
// Protected Utility Methods
// ======================================================
implementation {
passthru C_h = "#include <HIEmbeddingPanelTypes.h>";
passthru C_xh = "#include <HIEmbeddingPanelTypes.h>";
releaseorder: GetSubPanelCount,
GetUserInputFocusSubPanel,
GetLastSelectedSubPanel,
InitEmbeddingPanel,
AddSubPanel,
RemoveSubPanel,
GetSubPanel,
SetUserInputFocusSubPanel,
GetSubPanelIndex,
GetSubPanelsFromRefLabel;
};
};
interface HIRootPanel : HIEmbeddingPanel
{
// ======================================================
// Public Methods
// ======================================================
OSStatus InitRootPanel (in RefLabel identifier,
in HIWindow window);
/* Accumulated erase region - allows for optimized erasing */
void AdjustAccumulatedEraseRgn( in HIAccumulatorOperation accumulatorOperation,
in Rect oldRectangle,
in Rect newRectangle);
void EraseAccumulatedEraseRgn(in CGrafPtr targetPort);
implementation
{
releaseorder: InitRootPanel,
AdjustAccumulatedEraseRgn,
EraseAccumulatedEraseRgn;
};
};
#endif